Alteryxの結合ツールと検索置換ツール、どっちを使う?データ結合での動作の違い

Alteryxの結合ツールと検索置換ツール、どっちを使う?データ結合での動作の違い

Clock Icon2021.09.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、スズです。

Alteryx Designerには検索置換ツールと結合ツールというツールがあり、どちらのツールもデータの結合に使用することができます。本エントリでは、それぞれのツールを使ったデータ結合の動作について紹介いたします。

執筆環境

本エントリでは以下の環境を使用しています。

  • Alteryx Designer 2021.3.1.47945 Non-Admin 日本語版
  • Windows 10 Pro

結合ツールと検索置換ツールでのデータ結合

以下の2つのデータを使って、それぞれのツールを使ったデータ結合の動作を見てみます。

Lの入力アンカーに接続するデータはこちら。IDフィールドには「A」、「B」といったアルファベット1文字の値と「CD」という値があります。

Rの入力アンカーに接続するデータはこちら。IDフィールドには2つのレコードに「A」という同じ値があります。

結合ツールの場合

結合ツールでは、特定のフィールドで結合を使うことで、指定のフィールドの値を照合して値が一致する場合にデータを結合します。以下の設定でデータを結合してみます。

  • 特定のフィールドで結合:IDフィールド

Jの出力アンカーには、値が一致したデータが結合して出力されます。Rの入力アンカーのデータは「A」の値を持つレコードが2つあったため、Lの入力アンカーのデータでは1つしかなかった「とんこつ」が2つに増えています。

LとRの出力アンカーには、結合できなかったデータが出力されています。結合ツールの場合、指定のフィールドの値が正確に一致する必要があるため、「CD」と「C」のレコードはそれぞれ結合できなかったデータとして残ります。

 

検索置換ツールの場合

検索置換ツールでは、フィールドをレコードに付加を使用した場合にデータを結合することができます。以下の設定でデータを結合してみます。

  • 検索
    • フィールドの任意の部分
    • 検索対象のフィールド:IDフィールド
    • 検索する値IDフィールド:IDフィールド
  • 置換
    • フィールドをレコードに追加:ID、Priceフィールド

検索置換ツールの場合、出力されるデータは1つです。Lの入力アンカーのデータはそのまま残り、値を検索した結果によってRの入力アンカーのデータが追加されます。
「D」と「E」のレコードは検索した結果一致する値がなかったため、追加されたPriceフィールドの値は「Null」になっています。「CD」のレコードは「C」の値が一致したことになり、Priceフィールドには「900」の値が入っています。
Rの入力アンカーのIDフィールドに「A」は2レコードありましたが、出力アンカーには「A」は1つだけになっています。Priceフィールドは「700」になっていますので、Rの入力アンカーのデータから最後に一致した値のレコードが残っていることが分かります。また、Rの入力アンカーのデータにあった「F」と「G」のレコードは存在しません。

まとめ

結合ツール(特定のフィールドで結合)と検索置換ツール(フィールドをレコードに追加)でのデータ結合の動作をまとめると以下のようになります。

内容 結合ツール 検索置換ツール
指定のフィールドのデータ型 指定のフィールドが同じデータ型 文字列型
指定のフィールドの値が重複する場合 重複した分レコードが増える 最後のレコードのみ残る
結合の条件 値が正確に一致 部分一致に対応可能
指定のフィールドの値が一致しなかったレコード LとRの出力アンカーに出力 Lの入力アンカーのデータは残り、Rの入力アンカーのデータは残らない

さいごに

結合ツールと検索置換ツールでのデータ結合の動作についてご紹介しました。検索置換ツールでのデータ結合の使いどころとしては、ベースとなるデータ(Lの入力アンカーのデータ)を検索し、一致した場合にデータを追加する、といったところでしょうか。2つのデータの結合としては、結合できなかった結果の確認がしやすいことからも、結合ツールの方が使いやすいかもしれません。結合ツールと検索置換ツールの使い分けについて、参考にしていただければ幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.